package com.comcast.core.eeg.eventpublication.service;

import com.comcast.core.eeg.eventpublication.types.PublicationOption;
import com.comcast.core.eeg.types.BusinessEvent;
import com.comcast.core.eeg.types.Event;
import com.comcast.core.eeg.types.Participant;
import com.comcast.core.eeg.types.Result;

public interface EventPublicationService {

    public Result publish(Participant participant, BusinessEvent event, PublicationOption option);
    
    public Result batchPublish(Participant participant, BusinessEvent[] events, PublicationOption option);
    
    public Result publish(Participant participant, Event event, PublicationOption option);
    
    public Result batchPublish(Participant participant, Event[] events, PublicationOption option);
    
}
